#1.准备数据
from cProfile import label
import numpy as np
import matplotlib.pyplot as plt

labels = ['A', 'B', 'C', 'D', 'E']
#维度数量
num_vars = len(labels)
#两个门店的指标值
values1 = [4, 3, 5, 4, 2]
values2 = [3, 4, 2, 3, 4]
#计算每个指标值在雷达图上的角度,极坐标角度
angles = np.linspace(0, 2 * np.pi, num_vars, endpoint=False).tolist()
#闭合雷达图，，首尾相连
values1 += values1[:1]
values2 += values2[:1]
angles += angles[:1]
labels += labels[:1]
#2.创建画布
plt.figure(figsize=(8, 8), dpi=120)
#设置极坐标
plt.subplot(111, projection='polar')
#3.绘制雷达图
#绘制门店A的雷达图
plt.plot(angles, values1, label='门店A', linewidth=2, marker='o', markersize=8)
#绘制门店B的雷达图
plt.plot(angles, values2, label='门店B', linewidth=2, marker='s', markersize=8)
#填充门店A的区域
plt.fill(angles, values1, alpha=0.25, color='skyblue')
#填充门店B的区域
plt.fill(angles, values2, alpha=0.25, color='salmon')
#4.设置属性
# #设置角度标签
# plt.xticks(angles[:-1], labels, fontsize=12)
# plt.xticks(angles[:-1], labels, fontsize=12)# 避免与最后一个角度重复
# plt.xticklabels(labels, fontsize=12)#含义：设置x轴的刻度标签，fontsize=12表示字体大小为12
#设置数据范围
plt.ylim(0, 5)
#pad控制标题距离
plt.title('门店A和门店B的指标对比雷达图', fontsize=16, fontweight='bold', pad=20)

#添加网格线
plt.grid(True, alpha=0.3, linestyle='--')
#设置Y轴刻度标签
plt.yticks([1, 2, 3, 4, 5], fontsize=12)
#避免乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
#添加图例
plt.legend(fontsize=12, loc='upper right')
#调整布局
plt.tight_layout()
#显示图表
plt.show()
